<html>
<head><meta charset="utf-8"><title>benchmarks · t-compiler/wg-nll · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/index.html">t-compiler/wg-nll</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html">benchmarks</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="127071473"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071473" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071473">(May 25 2018 at 08:53)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> (cc <span class="user-mention" data-user-id="116609">@Frank McSherry</span>) — it looks like some new benchmarks were recently added to <a href="http://perf.rust-lang.org/" target="_blank" title="http://perf.rust-lang.org/">perf</a> — in particular <code>webrender</code> seems to exhibit ungreat NLL perf, maybe we should add that one for testing.</p>



<a name="127071483"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071483" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071483">(May 25 2018 at 08:53)</a>:</h4>
<p>also <code>cargo</code></p>



<a name="127071533"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071533" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071533">(May 25 2018 at 08:54)</a>:</h4>
<p><span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span></p>



<a name="127071542"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071542" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071542">(May 25 2018 at 08:55)</a>:</h4>
<p>did Reed's PR to have the invalidates facts land in rustc ?</p>



<a name="127071663"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071663" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071663">(May 25 2018 at 08:58)</a>:</h4>
<p>at least so I can quickly try 1) leapfrog on it, 2) the loc-insensitive prepass on it</p>



<a name="127071787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127071787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127071787">(May 25 2018 at 09:01)</a>:</h4>
<p>/me tries -Znll-facts :3, result: it does have them all yay</p>



<a name="127072868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127072868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127072868">(May 25 2018 at 09:35)</a>:</h4>
<p>one challenge: figuring out which fns are slow. Might be just the biggest ones. Before I did timing measurements. (Would also be worth looking again at clap to see which other fns are slow.) I don't know if those timing measurements are in nightly or not though (you could see the results for indiv functions with <code>-Ztime-passes</code>, I probably would have to recreate the patch)</p>



<a name="127072918"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127072918" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127072918">(May 25 2018 at 09:36)</a>:</h4>
<p>this is what was inside my reply box but didn't hit send :) webrender has 4-5 subcrates, dependencies, etc &amp; must have a lot of functions</p>



<a name="127072936"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127072936" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127072936">(May 25 2018 at 09:37)</a>:</h4>
<p>More benchmarks is great. Is there any reason a <span class="emoji emoji-1f438" title="frog">:frog:</span> based non-NLL phase (perhaps this is the location-invariant version) which does the old LL borrow checking should be any slower? Probably not worth worrying too much about the perf on problems well addressed by that, and rather just on the gap between the two.</p>



<a name="127072947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127072947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127072947">(May 25 2018 at 09:37)</a>:</h4>
<p>(( Also, just responded to <span class="user-mention" data-user-id="116009">@nikomatsakis</span>'s mention, and then realized that there is already some chitchat, sorry. ))</p>



<a name="127072992"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127072992" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127072992">(May 25 2018 at 09:38)</a>:</h4>
<p>this is basically the location-insensitive variant (although it is not <em>lexical</em>)</p>



<a name="127073006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073006">(May 25 2018 at 09:39)</a>:</h4>
<p>the location-insensitive variant is actually less expressive in some ways — notably it doesn't track where a borrow was introduced and limit its effects to locations reachable from there — but I think likely still serves as an effective pre-screen</p>



<a name="127073012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073012">(May 25 2018 at 09:39)</a>:</h4>
<p>keep in mind though that the NLL numbers we see on perf — at least based on the profiles i've done elsewhere, i'll have to repeat for the new cases — are often registering overhead that occurs before/after the "core analysis" that polonius models anyway</p>



<a name="127073060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073060">(May 25 2018 at 09:40)</a>:</h4>
<p>(although a major source of the overhead for clap is still squarely in the dataflow that polonius subsumes)</p>



<a name="127073078"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073078" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073078">(May 25 2018 at 09:41)</a>:</h4>
<p>(if needed, we could make the location-insensitive variant somewhat more precise of course)</p>



<a name="127073089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073089">(May 25 2018 at 09:41)</a>:</h4>
<p>just trying it on cargo/webrender would answer if we need to make it more precise right ?</p>



<a name="127073133"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073133" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073133">(May 25 2018 at 09:42)</a>:</h4>
<p>or would the imprecisions be in what it doesn't output, most likely ?</p>



<a name="127073139"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073139" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073139">(May 25 2018 at 09:42)</a>:</h4>
<p>My intuition (based only on programs that I've written) is that most borrowing / lifetimes don't require NLL, and for the borrows that can be dispatched early with traditional reasoning, they just all get dropped from the NLL input and hooray.</p>



<a name="127073143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073143">(May 25 2018 at 09:42)</a>:</h4>
<p>if we try it and find it emits no errors, then we are satisfied (for now)</p>



<a name="127073159"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073159" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073159">(May 25 2018 at 09:43)</a>:</h4>
<p>if it <em>does</em> emit errors, then <em>either</em> we try and adopt the approach where we use those errors to limit the work of the location-sensitive variant — or else we make it more precise so that it screens out errors</p>



<a name="127073161"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073161" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073161">(May 25 2018 at 09:43)</a>:</h4>
<p>Sort of related Q: are there any/many benchmarks of programs that exercise the NLL nature of NLL? Like, large programs that don't pass current borrow_ck but should.</p>



<a name="127073163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073163">(May 25 2018 at 09:43)</a>:</h4>
<p>no</p>



<a name="127073165"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073165" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073165">(May 25 2018 at 09:43)</a>:</h4>
<p>I guess they will come in time :)</p>



<a name="127073209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073209">(May 25 2018 at 09:44)</a>:</h4>
<p>So, hypothetically if NLL gets turned on there may be a spike in "whoa, we didn't see this sort of behavior before."</p>



<a name="127073219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073219">(May 25 2018 at 09:44)</a>:</h4>
<p>(relating to your intution, clearly every extant rust program does not need NLL...)</p>



<a name="127073234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073234">(May 25 2018 at 09:45)</a>:</h4>
<p>I'm not sure exactly what you mean by "this behavior" — like, these sorts of compile times? oh, just "programs exhibiting these properties"?</p>



<a name="127073282"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073282" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073282">(May 25 2018 at 09:46)</a>:</h4>
<p>I guess I was thinking "performance defects in NLL reasoning" akin to whatever might be stressing out webrender.</p>



<a name="127073290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073290">(May 25 2018 at 09:46)</a>:</h4>
<p>seems plausible</p>



<a name="127073311"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073311" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073311">(May 25 2018 at 09:47)</a>:</h4>
<p>I certainly expect a period — after turning on NLL — of bug reports related to it, whether they be perf or correctness...</p>



<a name="127073377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073377">(May 25 2018 at 09:49)</a>:</h4>
<p>can we get facts when using cargo ?</p>



<a name="127073425"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073425" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073425">(May 25 2018 at 09:50)</a>:</h4>
<p><code>cargo rustc -- -Znll-facts</code> probably works</p>



<a name="127073557"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073557" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Frank McSherry <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073557">(May 25 2018 at 09:55)</a>:</h4>
<p>It would be pretty not-hard to add in a bit of diagnostic code: in each of the <code>join</code> things, one can run a timer and attribute the resulting <code>Duration</code> to the destination relation, and print everything out in <code>Drop</code> code. I've got something that does this for tuple counts already, but .. should the need arise for more consistent diagnosis stuff (a la souffle).</p>



<a name="127073608"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127073608" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127073608">(May 25 2018 at 09:56)</a>:</h4>
<p>unfortunately facts with cargo doesn't produce anything, this is going to be tougher than I expected :) it's time to bring out cargo -v :3</p>



<a name="127074030"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127074030" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127074030">(May 25 2018 at 10:06)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> I think you need to add <code>#![feature(nll)]</code> too (or the suitable <code>-Z</code> flags)</p>



<a name="127074042"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127074042" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127074042">(May 25 2018 at 10:07)</a>:</h4>
<p>oh interesting, rustc-perf is a bit obscure from the outside :)</p>



<a name="127074502"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127074502" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127074502">(May 25 2018 at 10:18)</a>:</h4>
<p>good to know, indeed cargo + the feature = <span class="emoji emoji-1f44d" title="thumbs up">:thumbs_up:</span></p>



<a name="127074905"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127074905" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127074905">(May 25 2018 at 10:31)</a>:</h4>
<p>interesting, just checking the facts, it might also be not a single slow function, they seem small-ish for webrender itself (the biggest 20 fns combined are less than the clap dataset) so maybe time-passes would be indeed worthwhile (or could also be shared in slow dependencies)</p>



<a name="127075322"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127075322" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127075322">(May 25 2018 at 10:45)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> what I seeing is this: 1) <code>time: 130.060; rss: 292MB  MIR borrow checking</code> 2) a couple thousand <code>solve_nll_region_constraints</code>timed at 0.000 3) 2 or 3 timed at 0.001 -- should I be looking at something in particular ?</p>



<a name="127075730"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127075730" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127075730">(May 25 2018 at 10:57)</a>:</h4>
<p>(btw, is rustc doing the NLL analysis in parallel, e.g. $nb_cores functions at a time ? if not, could we now ? there must some intricacies collating results, but at least spinning multiple datafrog computations at the same time seems doable)</p>



<a name="127078765"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078765" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078765">(May 25 2018 at 12:25)</a>:</h4>
<p>We are not. I would encourage you not to think about parallelism: I think we should strive to make it work on a single core.</p>



<a name="127078768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078768">(May 25 2018 at 12:25)</a>:</h4>
<p>My reasoning:</p>



<a name="127078783"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078783" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078783">(May 25 2018 at 12:25)</a>:</h4>
<p>1. we are actively working on adding parallelism within crates and queries, which would mean taht we would process N functions at once.</p>



<a name="127078825"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078825" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078825">(May 25 2018 at 12:26)</a>:</h4>
<p>2. we often compile N crates at once</p>



<a name="127078831"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078831" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078831">(May 25 2018 at 12:26)</a>:</h4>
<p>3. once we have those pieces in place, we can yes imagine doing parallel sorts and so forth — but we would want to balance resource usage overall</p>



<a name="127078842"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078842" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078842">(May 25 2018 at 12:26)</a>:</h4>
<p>I think we have a story there, but we shouldn't look to parallelism alone as the "salvation", I guess is what i'm saying .. often the cores will be busy elsewhere :)</p>



<a name="127078844"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078844" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078844">(May 25 2018 at 12:27)</a>:</h4>
<p>agreed, it was just a random thought :)</p>



<a name="127078846"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078846" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078846">(May 25 2018 at 12:27)</a>:</h4>
<p>that said, we <em>should</em> probably try it out</p>



<a name="127078853"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078853" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078853">(May 25 2018 at 12:27)</a>:</h4>
<p>so let me weaken my statement :)</p>



<a name="127078862"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078862" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078862">(May 25 2018 at 12:27)</a>:</h4>
<p>that is, once we <em>have</em> those pieces in place — in particular, rustc will have a fork of rayon that will hopefully eventually be the real rayon — it'd be nice if we already knew how best to take advantage of it!</p>



<a name="127078994"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078994" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078994">(May 25 2018 at 12:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> btw did you see the previous "130s mir borrow checking" without easy to notice slow subtasks ? is there maybe a way to have more information about the times passes (besides profiling rustc)</p>



<a name="127078998"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127078998" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127078998">(May 25 2018 at 12:30)</a>:</h4>
<p><span class="user-mention" data-user-id="116113">@lqd</span> so time-passes is basically useless</p>



<a name="127079000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079000">(May 25 2018 at 12:30)</a>:</h4>
<p>and you should ignore it</p>



<a name="127079010"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079010" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079010">(May 25 2018 at 12:31)</a>:</h4>
<p>that is, it is not telling you what it looks like it is telling you</p>



<a name="127079014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079014">(May 25 2018 at 12:31)</a>:</h4>
<p>we are in the process of replacing it with something that will give realistic numbers</p>



<a name="127079016"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079016" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079016">(May 25 2018 at 12:31)</a>:</h4>
<p>e.g., in that output, it is not clear what composes those 130s</p>



<a name="127079019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079019">(May 25 2018 at 12:31)</a>:</h4>
<p>it includes at least mir borrow checking...but quite possibly other things, like mir construction</p>



<a name="127079060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079060">(May 25 2018 at 12:32)</a>:</h4>
<p>that said, I had a locally extended version of the compiler</p>



<a name="127079068"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079068" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079068">(May 25 2018 at 12:32)</a>:</h4>
<p>that hijacked time-passes to dump per-fn information in a very narrow way :)</p>



<a name="127079073"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079073" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079073">(May 25 2018 at 12:32)</a>:</h4>
<p>and I was using that to identify slow functions</p>



<a name="127079090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079090">(May 25 2018 at 12:32)</a>:</h4>
<p>nifty :)</p>



<a name="127079104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079104">(May 25 2018 at 12:33)</a>:</h4>
<p>so <span class="user-mention" data-user-id="116113">@lqd</span> what info were you looking for exactly? (before I went on my rant...)</p>



<a name="127079112"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079112" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079112">(May 25 2018 at 12:33)</a>:</h4>
<p>I guess the short answer is no, there is no easy way to get info — profiling rustc (e.g., with perf) is the way to do it</p>



<a name="127079114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079114">(May 25 2018 at 12:33)</a>:</h4>
<p>I tried compiling webrender with NLL and it was indeed "slow", so I was looking for a way to narrow down where this time was spent</p>



<a name="127079172"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079172" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079172">(May 25 2018 at 12:34)</a>:</h4>
<p>more precisely which "use case" could be extracted for benchmarking in polonius</p>



<a name="127079195"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079195" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> lqd <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079195">(May 25 2018 at 12:35)</a>:</h4>
<p>(before I leave for rustfest until tuesday)</p>



<a name="127079197"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079197" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079197">(May 25 2018 at 12:35)</a>:</h4>
<p>got it</p>



<a name="127079201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127079201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127079201">(May 25 2018 at 12:35)</a>:</h4>
<p>let me go looking for my patch</p>



<a name="127090969"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127090969" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127090969">(May 25 2018 at 16:58)</a>:</h4>
<p>If anyone feels like setting up LTTNG on their machine, I do have a local patch that dumps some stats about variable updates over the their user-space tracing (UST) channels.</p>



<a name="127090978"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127090978" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127090978">(May 25 2018 at 16:58)</a>:</h4>
<p>Should be possible to upstream it, it's all behind a feature flag but I'm not sure how useful it would be</p>



<a name="127093895"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127093895" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jake Goulding <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127093895">(May 25 2018 at 18:11)</a>:</h4>
<p><span class="user-mention" data-user-id="116106">@Reed Koser</span> LTTNG is an interesting project! Do you happen to know if it supports macOS or an alternate that might?</p>



<a name="127094149"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127094149" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127094149">(May 25 2018 at 18:16)</a>:</h4>
<p>I believe it's linux-only unfortunately. Probably not for technical reasons (i.e. you could port it) but just because there is only a relatively small number of contributors. I don't know what OSX has for tracing unfortunately</p>



<a name="127094212"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127094212" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127094212">(May 25 2018 at 18:18)</a>:</h4>
<p>most of the really robust tracing tools are deeply hooked in to the kernels of their respective systems (general purpose tracers) or bespoke (things like Chrome/V8's internal profiler/Gecko's profiling tools, etc.)</p>



<a name="127094359"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127094359" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127094359">(May 25 2018 at 18:21)</a>:</h4>
<p>even LTTNG started as a kernel tracing tool, and TraceCompass (the officially sanctioned graphical frontend) is... sub par. You define visualizations using this weird and feature-incomplete XML DSL or by using <code>babeltrace</code> to pull the traces into Python and then using some of the stuff from Python's data science community to generate imagery</p>



<a name="127094523"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/122657-t-compiler/wg-nll/topic/benchmarks/near/127094523" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Reed Koser <a href="https://rust-lang.github.io/zulip_archive/stream/122657-t-compiler/wg-nll/topic/benchmarks.html#127094523">(May 25 2018 at 18:24)</a>:</h4>
<p>cross-platform userspace tracing is on the (extremely long...) list of yaks I want to shave some day <span class="emoji emoji-1f643" title="upside down face">:upside_down_face:</span></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>